package com.zzyl.common.utils.aiinvoker;

import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.chat.ChatResponse;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * TODO
 *
 * @Author mr.luo
 * @Date 20 5月 2025 15:03
 */
@Component
public class AiInvoker {
    @Value("${qianfan.model}")
    private String model;
    @Value("${qianfan.temperature}")
    private String temperature;

    public String AIAssessmentChat(String content) {

        /**
         * 参数1：认证类型，固定选择 Auth.TYPE_OAUTH
         * 参数2和3：AK和SK从这里获取：https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application/v1
         */
        ChatResponse response = new Qianfan().chatCompletion()
                .model(model) // 使用model指定预置模型
                // .endpoint("completions_pro") // 也可以使用endpoint指定任意模型 (二选一)
                .addMessage("user", content) // 添加用户消息 (此方法可以调用多次，以实现多轮对话的消息传递)
                .temperature(Double.valueOf(temperature)) // 自定义超参数（生成内容的随机性）
                .responseFormat("json_object")
                .execute(); // 发起请求
        return response.getResult();
    }
}
